package org.edu.modules.common.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.edu.modules.common.entity.VeBaseStudent;

@Mapper
public abstract interface VeBaseStudentMapper extends BaseMapper<VeBaseStudent> {
    public abstract VeBaseStudent getModelById(Integer id);

    public abstract List<Map<String, Object>> getStudentPageList(VeBaseStudent veBaseStudent);

    public abstract Map getStudentStatusStatistics();

    public abstract VeBaseStudent getModelByUserId(String userId);

    public abstract List<Map<String, Object>> getModelByName(String name);

    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    public abstract int addStudent(VeBaseStudent veBaseStudent);

    public abstract VeBaseStudent getStudentBySFZH(Integer id, String sfzh);

    public abstract VeBaseStudent getStudentByXH(Integer id, String xh);

    public abstract Map getStudentAndInfoById(Integer id);

    public abstract List<Map<String, Object>> getStudentStatisticsByYear(String year);
}
